海明码 校验位数公式的理解

您所在的位置:网站首页 地铁跑酷的验证码是多少 四位数 海明码 校验位数公式的理解

海明码 校验位数公式的理解

2024-07-10 04:02:21| 来源: 网络整理| 查看: 265

#问题

设海明码的校验位数为k,数据位数为x,它们需满足一个位数公式

2^k\geq k+x+1

最初看到公式时我感到很疑惑啊,百思不得其解,主要的问题是最后那个1哪来的。

看着公式望了半天,一点头绪都没有,好脑袋不如烂笔头,于是我开始手写举例试着理解海明码的校验逻辑。

不写不知道,一写吓一跳。写着写着就发现了,原来这个1来的如此妖娆。

#引入(海明码原理介绍)

我们先来复习一下二进制的划分,假设现在有七位二进制数据x_1\rightarrow x_7,用n_1\rightarrow n_7序号来指向。为什么选择七位呢?因为它们的序号刚好可以用三位二进制来表示。

我们再来看看海明码的纠错方法。

表示序号的三个二进制位,每一个二进制位取值为1的序号个数都是4个(图中列标红)。这冥冥之中的平衡一定可以好好利用。

我们分别把二进制3-1列取值为1的序号纳入集合A、B、C。

则集合取值

A={7,6,5,4}

B={7,6,3,2}

C={7,5,3,1}

有一种大家很熟悉,校验一个序列值的方法叫做奇偶校验,偶校验计算方式是序列中所有值异或为0。

如果我们按照A、B、C的集合来分类,每个集合都进行偶校验,就可以得到3个偶校验值,它们需要等于0。由于x_1\rightarrow x_7是固定的,所以A、B、C需要作为校验位参与运算。也就是需满足

A \oplus x_7 \oplus x_6 \oplus x_5 \oplus x_4=0

B \oplus x_7 \oplus x_6 \oplus x_3 \oplus x_2=0

C \oplus x_7 \oplus x_5 \oplus x_3 \oplus x_1=0

根据异或运算的性质,自己与自己本身异或为0。所以可以得到A、B、C的计算公式

A =x_7 \oplus x_6 \oplus x_5 \oplus x_4

B = x_7 \oplus x_6 \oplus x_3 \oplus x_2

C= x_7 \oplus x_5 \oplus x_3 \oplus x_1

海明码考虑的情况是一位纠错。当某一位出错后,A、B、C和它们对应集合数据位的异或就不再是本身与本身的异或,并且最终结果会变为1。

也就是说,接收到数据后,若A \oplus x_7 \oplus x_6 \oplus x_5 \oplus x_4=1,则表示A对应集合有一位元素数据位出错了(集合对应的元素就是一列中二进制表示为1的元素)。同理,最后运算结果为0的集合对应的元素是没有问题的,这样就可以筛查出是具体哪一位元素出错,从而进行纠错。

比如n_5出错,那么A=1代表第一列元素出错,B=0代表第二列元素没错,C=1代表第三列元素出错。满足所有交集的元素只有一个,也就是被筛查出来的n_5。可以看见这种方法非常直接,因为将ABC排列成二进制数,所代表的序号就是出错的那一位。

如下图,红色方块代表本列有出错元素,A列确定了n_7,n_6,{\color{Red} n_5},n_4,C列确定了n_7,{\color{Red} n_5},n_3,n_1,交集{\color{Green} n_7},{\color{Red} n_5};而绿色方块代表一定没有出错的元素,B列排除了{\color{Green} n_7},n_6,n_3,n_2。随后n_5就被筛选出来了。

#探明

在上面讲述海明码纠错过程中,可能有同学已经发现问题所在了。

我们新增了三位校验位,可是只对七位数进行了纠错。

所以公式里的那个1,其实来自于我们没有画出的序号0!

我们回望A、B、C的分类,每一集合都有4个元素,看似非常规律,似乎冥冥之中决定了我们可以使用海明码这样的纠错方式。

偏偏卦不可算尽,虽然每集合都有4个元素,但元素的分布律不是均等的,不仅不是均等的,还遗漏了一个0。

所以k个校验位,虽然能表示2^k个序号,但最终只能带来2^k-1的纠错能力。

同时我们需要将校验位加入传输数据,也就是真正的有效数据x需满足x+k\leq 2^k-1

#ps 会什么会少一个呢?其实很简单,只要理清楚概念。k个校验位,输出的序列(比如ABC),含义是第ABC(二进制)个序号的数值有错,而不是总共有多少个数字之类。所以看看000代表的含义就知道少掉的一种情况去哪了——它代表序列校验正确。

#pps 海明码校验位的位置在这个问题上没有啥作用,最初我觉得它一定有什么深层含义,想了半天也没想出什么

#ppps 或许以后有时间还可以写篇博客,叫做《海明码的哲学原理》。

 

 



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭